import { Router } from "vue-router";
import { storage } from "../utils/storage";

export const setUpGuard = (routerData: Router) => {
  routerData.beforeEach((to) => {
    const isAuthenticated = storage.get("token");
        // 如果用户未登录  
        if (!isAuthenticated) {  
          // 检查目标路由是否允许游客访问  
          if (to.meta && to.meta.visitor) {  
            // 允许游客访问，无需重定向  
            // 这里可以直接调用 next() 来继续路由跳转，但在这个守卫中我们不需要显式调用，因为 Vue Router 会自动处理  
          } else {  
            // 不允许游客访问，且目标路由不是登录页面或未找到页面  
            if (to.name !== "Login" && to.name !== "NotFound") {  
              // 将用户重定向到登录页面  
              return { name: "Login" };  
            }  
          }  
        } 
    if(isAuthenticated && to.name === "Login"){
        // 已经登录的情况，重定向到主页
        return { name: "FrontHome" };
    }
  });
};
